/**
 * 将基类中耗时长、可共享的、可复用的放在基类原型中
 */
var LoopImages = function(imgArr, container) {
    this.imagesArray = imgArr;  //轮播图片数组
    this.container = container; //轮播图片容器
}

LoopImages.prototype = {
    // 创建轮播图片
    createImage: function() {
        console.log('loopImages createImage');
    },
    changeImage: function() {
        console.log('loopImages changeImage');
    }
};

// 上下滑动切换类
var SlideLoopImg = function(imgArr, container) {
    LoopImages.call(this, imgArr, container);
}

SlideLoopImg.prototype = new LoopImages();
SlideLoopImg.prototype.changeImage = function() {
    console.log('SlideLoopImg changeImage');
}

// 渐隐切换类
var FadeLoopImg = function(imgArr, container, arrow) {
    LoopImages.call(this, imgArr, container);
    // 切换箭头私有变量
    this.arrow = arrow;
}
FadeLoopImg.prototype = new LoopImages();
FadeLoopImg.prototype.changeImage = function() {
    console.log('FadeLoopImg changeImage');
};

// 测试用例
var fadeImg = new FadeLoopImg([
    'imgs/1.jpg',
    'imgs/1.jpeg',
    'imgs/1.jpeg',
    'imgs/1.jpeg'    
], 'slide', [
    'imgs/left.png',
    'imgs/right.png'
]);
var fadeImg2 = new FadeLoopImg([
    'imgs/1.jpg',
    'imgs/1.jpeg'
], 'slide', [
    'imgs/left.png',
    'imgs/right.png'
]);
var slideImg = new SlideLoopImg([
    'imgs/1.jpg',
    'imgs/1.jpeg'
], 'slide');
console.log(fadeImg.container);//slide
console.log(fadeImg.imagesArray);//["imgs/1.jpg", "imgs/1.jpeg", "imgs/1.jpeg", "imgs/1.jpeg"]
console.log(fadeImg2.imagesArray);//["imgs/1.jpg", "imgs/1.jpeg"]
console.log(slideImg.imagesArray);//["imgs/1.jpg", "imgs/1.jpeg"]

slideImg.imagesArray.push('imgs/1.jpeg');
fadeImg2.imagesArray.push('imgs/1.jpeg');
console.log(fadeImg.imagesArray);//["imgs/1.jpg", "imgs/1.jpeg", "imgs/1.jpeg", "imgs/1.jpeg"]
console.log(fadeImg2.imagesArray);//["imgs/1.jpg", "imgs/1.jpeg", "imgs/1.jpeg"]
console.log(slideImg.imagesArray);//["imgs/1.jpg", "imgs/1.jpeg", "imgs/1.jpeg"]

fadeImg.changeImage();
